home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / os2 / ssaver26.zip / SAMPLE.ZIP / SAMPLE26.TXT < prev    next >
Text File  |  1996-10-05  |  6KB  |  149 lines

  1. Hi ScreenSaver module developer!
  2. ================================
  3.  
  4. This is version 2.6 of the sample ScreenSaver module.
  5.  
  6.  
  7. Changes version 2.5 - > 2.6
  8. ---------------------------
  9. Due to some problems that IBM built into the final release of Merlin,
  10. you now *must* use WinInitialize/WinTerminate in every thread that uses
  11. Gpi or Win calls.
  12.  
  13. Changes version 2.4 - > 2.5
  14. ---------------------------
  15. no changes.
  16.  
  17. Changes version 2.4 - > 2.42
  18. ----------------------------
  19. Changed write_profile_data() to write to the specified ini file (older
  20. versions wrote their settings only if it was the OS2.INI file).
  21.  
  22.  
  23. Changes version 2.3 - > 2.4
  24. ---------------------------
  25. Dimension of the push buttons in the module configuration
  26.   dialog changed to fit needs of German version of ScreenSaver.
  27. Added #include <time.h> on some developer's request.
  28.  
  29. Changes version 2.2 - > 2.3
  30. ---------------------------
  31. no changes.
  32.  
  33. Changes version 2.1 - > 2.2
  34. ---------------------------
  35. no changes.
  36.  
  37. Changes version 2.0 - > 2.1
  38. ---------------------------
  39. increased stack size to 64KB
  40. added exception handling in modules. a crashing module now only stops
  41. executing, keeping the ScreenSaver program alive. a register dump is written
  42. to file CRASH.LOG. If you use this exception handling code, please make
  43. sure that the resources which your drawing thread has allocated are freed.
  44.  
  45. Changes version 1.5 - > 2.0
  46. ---------------------------
  47. module name is now stored in the configuarton data (there were module crashes
  48.   because of the "list box double entry" problem (2.0 has a workaround for
  49.   this OS/2 bug))
  50. the sample code to query the spin button allowed entry of invalid
  51.   values. corrected.
  52. instead of WinGetPS(..) / WinReleasePS(..) I now create a normal PS which is
  53.   much more flexible; code changed in WM_CREATE and WM_DESTROY.
  54.  
  55.  
  56. Changes version 1.4 - > 1.5
  57. ---------------------------
  58. code added to read from an alternate INI file instead of OS2.INI:
  59.   functions query_profile_data() and write_profile_data()
  60.   FUNCTION_SETINIFILENAME in SAVER_PROC(...)
  61. code added to move saver window to top regularly (IDT_ZORDERTIMER)
  62.  
  63.  
  64. Changes version 1.3 - > 1.4
  65. ---------------------------
  66. no changes.
  67.  
  68.  
  69. Changes version 1.2 - > 1.3
  70. ---------------------------
  71. no changes.
  72.  
  73.  
  74. Changes version 1.1 - > 1.2
  75. ---------------------------
  76.  
  77. There is a problem with OS/2 2.11 (to me it seems to be an OS/2 bug) which
  78. causes ScreenSaver to exit whenever a version 1.1 module ends. This problem
  79. is corrected in version 1.2. Unfortunately the problem had to be corrected in
  80. the module source code. The problem only occurs when "low priority" is enabled.
  81. (To those who are interested: the DosKillThread call kills thread 1 (the main
  82. thread) instead of the priority-controller-thread. Seems to be a bad bug in
  83. OS/2 2.11).
  84. The ScreenSaver program now checks if we run on OS/2 2.11 and if the modules
  85. is a version 1.1 module. If this is true, it runs the module with high
  86. priority although low priority may be selected in the options dialog.
  87. Animation speed setting added.
  88. Random seed now per thread.
  89. *.DEF file changed
  90.  
  91.  
  92. Changes version 1.0 - > 1.1
  93. ---------------------------
  94.  
  95. There are some minor enhancements to the original code.
  96. There is limited support for compiling with Borland C++ now. See below for
  97. more info on that.
  98. The old (version 1.0) code STILL WORKS. The code that was added since
  99. version 1.0 should solve the idle-priority problem that prevented the saver
  100. modules from doing their action when CPU usage of other programs was 100%.
  101. Most of the changes are to avoid compiler warnings from Borland C++.
  102.  
  103. It should not be too much work to incorporate the changes in SAMPLE.C if
  104. you have written code for version 1.0.
  105. I suggest you cut your code and paste it into the new SAMPLE.C. An utility
  106. like "Visual Compare" (all/diskutil/vc132.zip on ftp.cdrom.com) might be very
  107. useful for that.
  108.  
  109.  
  110. Compiling with Borland C++
  111. --------------------------
  112.  
  113. Because of initialization problems with the Borland C runtime library (RTL),
  114. you MUST NOT use ANY RTL-functions (malloc, free, strcpy, _beginthread, srand,
  115. rand, fopen, open, printf etc.).
  116. In the file MINIRTL.C you can find some useful C library functions as source
  117. code. If you link your module with MINIRTL.OBJ, you can use those
  118. functions in your module. DO NOT use any other rtl functions. DO NOT link
  119. your module with one of the Borland libraries (C2*.LIB) (OS2.LIB is ok).
  120. DO NOT link with the startup code supplied by Borland (C02*.OBJ). Use the
  121. startup code BCCDLL0.ASM instead.
  122.  
  123. This seems rather complicated, but in fact all you have to do is uncomment
  124. the "USE_BCC=1" line in SAMPLE.MAK and type "MAKE -F SAMPLE.MAK".
  125.  
  126.  
  127. ------------------------------------------------------
  128.  
  129. If you are going to write saver modules, please get in contact with me. I can
  130. put your modules on the ScreenSaver WWW page or incorporate a link to your
  131. WWW page.
  132.  
  133. If you already have developed a module, please drop me a line where I can get
  134. it from. Better, uuencode the module and mail it to me.
  135.  
  136. If your modules are available on the World Wide Web, please tell me the
  137. address and I will include a link to your page on the ScreenSaver home page
  138. (http://stud1.tuwien.ac.at/~e8925811/ssaver.html).
  139.  
  140. If you have any questions, just contact me via e-mail.
  141.  
  142. Greetings
  143.  
  144. Siegfried Hanisch
  145.  
  146. Internet addresses:
  147.     ssaver@ibm.net        (preferred; ScreenSaver related mail only)
  148.     siggih@ibm.net
  149.